package com.gxa.service.impl;

import com.gxa.common.R;
import com.gxa.entity.SysDrugType;
import com.gxa.mapper.SysDrugTypeMapper;
import com.gxa.service.SysDrugTypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class SysDrugTypeServiceImpl implements SysDrugTypeService {

    @Autowired
    SysDrugTypeMapper sysDrugTypeMapper;



    @Override
    public R addDrugType(SysDrugType sysDrugType) {

        R r = new R();

        int i = sysDrugTypeMapper.addDrugType(sysDrugType);
        if (i > 0) {
            r.setCode(200);
            r.setMsg("success");
            return r;
        }
        r.setCode(400);
        r.setMsg("失败了，可能是参数错误");
        return r;
    }

    @Override
    public R findDrugTypeList() {
        List<SysDrugType> drugTypeList = sysDrugTypeMapper.findDrugTypeList();
        R r = new R();
        if(drugTypeList != null){
           r.setCode(200);
           r.setMsg("success");
           r.setData(drugTypeList);
           return r;
        }
        r.setCode(400);
        r.setMsg("失败了，可能是参数错误");
        return r;
    }

    @Override
    public R updateDrugType(SysDrugType sysDrugType) {
        R r = new R();

        int i = sysDrugTypeMapper.updateDrugType(sysDrugType);
        if (i >= 0 ) {
            r.setCode(200);
            r.setMsg("success");
            return r;
        }
        r.setCode(400);
        r.setMsg("失败了，可能是参数错误");
        return r;
    }

    @Override
    public R delDrugType(Integer id) {
        R r = new R();
        SysDrugType curren =  sysDrugTypeMapper.findDrugTypeById(id);
        if (curren.getDrugTypePid()==0){
            r.setCode(200);
            r.setMsg("你不能修改该药品分类");
            return r;
        }else {
            int i = sysDrugTypeMapper.updateDrugTypeIsDelete(id);
            if (i >= 0 ) {
                r.setCode(200);
                r.setMsg("success");
                return r;
            }
            r.setCode(400);
            r.setMsg("失败了，可能是参数错误");
            return r;
        }

    }

    @Override
    public R findDrugTypeById(Integer id) {
        R r = new R();

        SysDrugType res =  sysDrugTypeMapper.findDrugTypeById(id);
        if (res == null) {
            r.setCode(400);
            r.setMsg("失败了，可能是参数错误");
            return r;
        }

        r.setCode(200);
        r.setMsg("success");
        r.setData(res);
        return r;
    }
}
